Various techniques have heretofore been developed for transforming and manipulating symbolic data. For example, data transformation is useful in such applications as conversion of text into speech, word processing and in other areas of linguistics and artificial intelligence. The well-known Naval Research Laboratory rules have been implemented in Fortran language as described in "A Fast Fortran Implementation of the U.S. Naval Research Laboratory Algorithm for Automatic Translation of English Text to Votrax Parameters", by L. Robert Morris, IEEE ICASSP CH13799, pages 907-913, July, 1979. However, such approaches make it very difficult to improve operational performance by modification of the rules and are normally very specific and limited only to text-to-speech applications.
Other solutions to problems in the realms of linguistics and artificial intelligence have relied upon processes expressed as sets of pattern-matching rules which transform one set of symbolic data into another. For example, the article "Letter-to-Sound Rules for Automatic Translation of English Text to Phonetics", by H. S. Elovitz et al, IEEE Transactions on Accoustics, Speech and Signal Processing, Volume ASSP-24, No. 6, Pages 446-459, December, 1976, discloses a method for the automatic translation of English text to phonetics by means of letter-to-sound rules. However, this method is expensive and complicated because it uses rules stated in SNOBOL higher level language which requires the expense of a SNOBOL interpreting machine.
Several non-SNOBOL processes have been developed which interpret and apply pattern-matching rules such as written in the Elovitz et al format noted above. For example, note the Morris article noted above and the article entitled, "Speech Synthesis From Unrestricted Text Using a Small dictionary" by Richard Loose, NUSC Technical Report 6432, Feb. 10, 1981, Naval Underwater Systems Center, Newport, R.I. However, such methods are particularly adapted for the format of the Elovitz et al rules and thus do not have general and flexible applications.
A need has thus arisen for a symbolic data transformation method which is not limited to text-to-speech applications, but which is quite general and powerful and which may be used in a variety of applications. Such transformation method should be low-cost and not require implementation in higher level programming languages which require highly trained personnel and expensive interpreting machinery.